var gulp = require('gulp');
var concat = require('gulp-concat');
var uglify = require("gulp-uglify");
var cssnano = require('gulp-cssnano');
var htmlmin = require('gulp-htmlmin');
var changed = require('gulp-changed');
var jscs = require('gulp-jscs');

var fs = require('fs');
var rename = require('gulp-rename');

//默认任务
gulp.task('default',function(){
    uglifyScripts();
    uglifyCss();
    uglifyHtml();
});


var DEST = 'gulpdemo/';
//合并压缩js
function uglifyScripts() {
   return gulp.src('js/*.js')
    .pipe(concat("js.js"))//合并
    .pipe(gulp.dest(DEST+"/js"))//输出一个js.js
    // 这会输出一个压缩过的并且重命名为 js.min.js 的文件
    .pipe(uglify())
    .pipe(rename({ extname: '.min.js' }))
    .pipe(gulp.dest(DEST+"/js"));
}

//正常压缩js文件
// function uglifyScripts() {
//    return gulp.src('js/*.js')
//     .pipe(uglify())
//     .pipe(gulp.dest(DEST+"/js"));
// }

// 对css进行压缩
function uglifyCss(){
   return gulp.src('css/*.css')
    .pipe(changed(DEST+"/css"))//changed去找文件
    // .pipe(jscs())//未改变文件不会走过这里
    // .pipe(cssnano())
    .pipe(gulp.dest(DEST+'/css'));
}

// 压缩html任务
function uglifyHtml(){
  return gulp.src('*.html')
    // .pipe(changed(DEST))//changed去找文件
    // .pipe(jscs())//未改变文件不会走过这里
    .pipe(htmlmin({collapseWhitespace:true}))
    .pipe(gulp.dest(DEST));
}
